Electromagnetic disturbance can alter the contents of the registers present within microcontrollers, jeopardizing correct operation of the devices themselves.
In fact, the registers of a microcontroller are typically coupled to a single bus, travelling on which are the information data for a particular register or values of transition between one given item of information and the next. The microcontroller selects at a given instant the particular register in which the contents present on the bus are to be written, setting a latch signal for the particular register selected at the logic value “one”.
If, on account of electromagnetic disturbance, the value of a latch signal exceeds a critical threshold and is recognized as a logic “one”, on the register enabled by said latch signal the value present at that moment on the bus is stored so that the correct contents of the register are lost.
A typical method for protecting the “critical” values necessary for a correct configuration of the devices envisages that these values will be stored in memory registers of a ROM (Read-Only Memory). This solution presents the drawback that the values stored cannot be modified and personalized on the basis of the type of application and of the specific requirements of the user.
Existing in the literature are various techniques for personalizing the configuration of a microcontroller with values chosen by the user, and of particular interest are the techniques that use structures of the “fuse” type and EPROM (Erasable Programmable Read-Only Memory) programmable structures with option bytes. The fuse structures comprise fuse devices, which, if traversed by a current, enable coupling of a particular node of the circuit to the supply voltage or else to ground. In this way, the definitive configuration of the microcontroller is determined. In the EPROM programmable structures, the option bytes, which are constituted by a nonvolatile-memory region typically present in a microcontroller, the bits of which are accessible directly by the microcontroller, present the advantage, as compared to the fuse structures, of being modifiable a number of times (just in the programming step and not during run-time operation) but call for a high number of direct connections between the microcontroller and the memory.